<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8" />
		<meta http-equiv="X-UA-Compatible" content="IE=edge" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<title>Document</title>
	</head>
	<body>
		<script>
			function Star(uname, age) {
				this.uname = uname;
				this.age = age;
			}

			// 很多情况下，需要手动利用 constructor 这个属性指回原来的构造函数
			// Star.prototype.sing = function () {
			// 	console.log('vvaaee');
			// };

			// Star.prototype.cook = function () {
			// 	console.log('uuaaee');
			// };

			Star.prototype = {
				// 如果我们修改了原来的原型对象，给原型对象赋值的是一个对象，则必须手动利用 constructor 指回原来的构造函数
				constructor: Star,
				sing: function () {
					console.log('vvaaee');
				},
				cook: function () {
					console.log('uuaaee');
				},
			};

			let vae = new Star('vae', 35);
			let uae = new Star('uae', 35);

			console.log(Star.prototype);
			console.log(vae.__proto__);

			console.log(Star.prototype.constructor);
			console.log(vae.__proto__.constructor);
		</script>
	</body>
</html>
